[(SpriteKeySample)] =
[(SpritePropertyAtoms)]
[(SpriteImageAtoms)]
[(SpriteOverrideSample)] =
[(SpritePropertyAtoms)]
[(SpriteImageAtoms)]
kSpriteSharedDataAtomType, 1, 1
<kSpriteVariablesContainerAtomType>, 1
<kSpriteStringVariableAtomType>, (1..n) ID is SpriteTrack
Variable ID to be set
[CString]
<kSpriteFloatingPointVariableAtomType>, (1..n) ID is
SpriteTrack Variable ID to be set
[float]
kSpriteImagesContainerAtomType, 1, 1
kSpriteImageAtomType, theImageID, (1 .. numImages)
kSpriteImageDataAtomType, 1, 1
[ImageData is ImageDescriptionHandle prepended to
image data]
<kSpriteImageRegistrationAtomType, 1, 1>
[FixedPoint]
<kSpriteImageNameAtomType, 1, 1>
[pString]
<kSpriteImageGroupIDAtomType, 1, 1>
[long]
[(SpritePropertyAtoms)]
<kQTEventFrameLoaded>, 1, 1
[(ActionListAtoms)]
<kCommentAtomType>, (anyUniqueIDs), (1..numComments)
[CString]
kSpriteAtomType, theSpriteID, (1 .. numSprites)
<kSpritePropertyMatrix, 1, 1>
[MatrixRecord]
<kSpritePropertyVisible, 1, 1>
[short]
<kSpritePropertyLayer, 1, 1>
[short]
<kSpritePropertyImageIndex, 1, 1>
[short]
<kSpritePropertyGraphicsMode, 1, 1>
[ModifierTrackGraphicsModeRecord]
<kSpriteUsesImageIDsAtomType, 1, 1>
[array of QTAtomID's, one per image used]
<kSpriteBehaviorsAtomType>, 1
<kSpriteImageBehaviorAtomType>
[QTSpriteButtonBehaviorStruct]
<kSpriteCursorBehaviorAtomType>
[QTSpriteButtonBehaviorStruct]
<kSpriteStatusStringsBehaviorAtomType>
[QTSpriteButtonBehaviorStruct]
<[(SpriteActionAtoms)]>
[(SpriteActionAtoms)] =
kQTEventType, theQTEventType, (1 .. numEventTypes)
[(ActionListAtoms)]
<kCommentAtomType>, (anyUniqueIDs), (1..numComments)
[CString]
[(ActionListAtoms)] =
kAction, (anyUniqueIDs), (1..numActions)
kWhichAction 1, 1
[long whichActionConstant]
<kActionParameter> (anyUniqueIDs), (1..numParameters)
[(parameterData)] ( whichActionConstant, paramIndex )
// either leaf data or child atoms
<kActionFlags> parameterID, (1..numParamsWithFlags)
[long actionFlags]
<kActionParameterMinValue> parameterID, (1.. numParamsWithMin)
[data depends on param type]
<kActionParameterMaxValue> parameterID, (1.. numParamsWithMax)
[data depends on param type]
[(ActionTargetAtoms)]
<kCommentAtomType>, (anyUniqueIDs), (1..numComments)
[CString]
[(ActionTargetAtoms)] =
<kActionTarget>
<kTargetMovie>
[no data]
[(ActionTargetAtoms)] =
<kActionTarget>
<kTargetMovieName>
[Pstring MovieName]
OR
<kTargetMovieID>
[long MovieID]
OR
[(kExpressionAtoms)]
<kTargetTrackName>
[PString trackName]
<kTargetTrackType>
[OSType trackType]
<kTargetTrackIndex>
[long trackIndex]
OR
[(kExpressionAtoms)]
<kTargetTrackID>
[long trackID]
OR
[(kExpressionAtoms)]
<kTargetSpriteName>
[PString spriteName]
<kTargetSpriteIndex>
[short spriteIndex]
OR
[(kExpressionAtoms)]
<kTargetSpriteID>
[QTAtomID spriteIID]
OR
[(kExpressionAtoms)]
[(kExpressionAtoms)] =
kExpressionContainerAtomType, 1, 1
<kOperatorAtomType, theOperatorType, 1>
kOperandAtomType, (anyUniqueIDs), (1..numOperands)
[(OperandAtoms)]
OR
<kOperandAtomType, 1, 1>
[(OperandAtoms)]
[(OperandAtoms)] =
<kOperandExpression> 1, 1
[(kExpressionAtoms)] // allows for recursion
OR
<kOperandConstant> 1, 1
[ float theConstant ]
OR
<kOperandSpriteTrackVariable> 1, 1
[(ActionTargetAtoms)]
kActionParameter, 1, 1
[QTAtomID spriteVariableID]
OR
<kOperandKeyIsDown> 1, 1
kActionParameter, 1, 1
[UInt16 modifierKeys]
kActionParameter, 2, 2
[UInt8 asciiCharCode]
OR
<kOperandRandom> 1, 1
kActionParameter, 1, 1
[short minimum]
kActionParameter, 2, 2
[short maximum]
OR
<any other operand atom type>
[(ActionTargetAtoms)]
The format for parameter data depends on the action and parameter index.
In most cases, the kActionParameter atom is a leaf atom containing data; for a few parameters, it contains child atoms.
whichAction corresponds to the action type which is specified by the leaf data of a kWhichAction atom.
paramIndex is the index of the parameter's kActionParameter atom.
[(parameterData)] ( whichAction, paramIndex ) =
{
kActionMovieSetVolume:
param1: short volume
kActionMovieSetRate
param1: Fixed rate
kActionMovieSetLoopingFlags
param1: long loopingFlags
kActionMovieGoToTime
param1: TimeValue time
kActionMovieGoToTimeByName
param1: Str255 timeName
kActionMovieGoToBeginning
no params
kActionMovieGoToEnd
no params
kActionMovieStepForward
no params
kActionMovieStepBackward
no params
kActionMovieSetSelection
param1: TimeValue startTime
param2: TimeValue endTime
kActionMovieSetSelectionByName
param1: Str255 startTimeName
param2: Str255 endTimeName
kActionMoviePlaySelection
param1: Boolean selectionOnly
kActionMovieSetLanguage
param1: long language
kActionMovieChanged
no params
kActionTrackSetVolume
param1: short volume
kActionTrackSetBalance
param1: short balance
kActionTrackSetEnabled
param1: Boolean enabled
kActionTrackSetMatrix
param1: MatrixRecord matrix
kActionTrackSetLayer
param1: short layer
kActionTrackSetClip
param1: RgnHandle clip
kActionSpriteSetMatrix
param1: MatrixRecord matrix
kActionSpriteSetImageIndex
parm1: short imageIndex
kActionSpriteSetVisible
param1: short visible
kActionSpriteSetLayer
param1: short layer
kActionSpriteSetGraphicsMode
param1: ModifierTrackGraphicsModeRecord graphicsMode
kActionSpritePassMouseToCodec
no params
kActionSpriteClickOnCodec
param1: Point localLoc
kActionSpriteTranslate
param1: Fixed x
param2: Fixed y
param3: Boolean isRelative
kActionSpriteScale
param1: Fixed xScale
param2: Fixed yScale
kActionSpriteRotate
param1: Fixed degrees
kActionSpriteStretch
param1: Fixed p1x
param2: Fixed p1y
param3: Fixed p2x
param4: Fixed p2y
param5: Fixed p3x
param6: Fixed p3y
param7: Fixed p4x
param8: Fixed p4y
kActionQTVRSetPanAngle
param1: float panAngle
kActionQTVRSetTiltAngle
param1: float tileAngle
kActionQTVRSetFieldOfView
param1: float fieldOfView
kActionQTVRShowDefaultView
no params
kActionQTVRGoToNodeID
param1: UInt32 nodeID
kActionMusicPlayNote
param1: long sampleDescIndex
param2: long partNumber
param3: long delay
param4: long pitch
param5: long velocity
param6: long duration
kActionMusicSetController
param1: long sampleDescIndex
param2: long partNumber
param3: long delay
param4: long controller
param5: long value
kActionCase
param1: [(CaseStatementActionAtoms)]
kActionWhile
param1: [(WhileStatementActionAtoms)]
kActionGoToURL
param1: CString urlLink
kActionSendQTEventToSprite
param1: [(SpriteTargetAtoms)]
param2: QTEventRecord theEvent
kActionDebugStr
param1: Str255 theMessageString
kActionPushCurrentTime
no params
kActionPushCurrentTimeWithLabel
param1: Str255 theLabel
kActionPopAndGotoTopTime
no params
kActionPopAndGotoLabeledTime
param1: Str255 theLabel
kActionSpriteTrackSetVariable
param1: QTAtomID variableID
param2: float value
kActionApplicationNumberAndString
param1: long aNumber
param2: Str255 aString
}
Both [(CaseStatementActionAtoms)] and [(WhileStatementActionAtoms)] are child atoms of a kActionParameter 1 , 1 atom
[(CaseStatementActionAtoms)] =
kConditionalAtomType, (anyUniqueIDs), (1..numCases)
[(kExpressionAtoms)]
kActionListAtomType 1, 1
[(ActionListAtoms)] // may contain nested conditional
actions
[(WhileStatementActionAtoms)] =
kConditionalAtomType, 1, 1
[(kExpressionAtoms)]
kActionListAtomType 1, 1
[(ActionListAtoms)] // may contain nested
conditional actions
| Previous | Chapter Contents | Chapter Top |